<?php

class Cidade {
    private $Codigo;
    private $Nome;
    private $UF;
    
    public function __construct($Codigo = null){
        if(!empty($Codigo)){
            $this->setCodigo($Codigo);
        }
    }
    
    public function getCodigo(){
        return $this->Codigo;
    }
    
    public function getNome(){
        return $this->Nome;
    }
    
    public function getUF(){
        return $this->UF;
    }
    
    public function setCodigo($value){
        $this->Codigo = (int)$value;
    }
    
    public function setNome($value){
        $this->Nome = $value;
    }
    
    public function setUF($value){
        $this->UF = $value;
    }
    
    public function valida(){
        $Nome = trim($this->getNome());
        $UF = trim($this->getUF());
        if(empty($Nome)){
            throw new Exception('O campo nome é obrigatório.');
        }
        if(empty($UF)){
            throw new Exception('O campo UF é obrigatório.');
        }
        if(strlen($UF) != 2){
            throw new Exception('O campo UF está incorreto.');
        }
    }
}

?>
